package com.thread;

import java.util.concurrent.TimeUnit;

public class ThreadVolatile005 {
    /*volatile*/ boolean isRun = true;// 各个线程共享这个变量  线程一致性，禁止使用指令重排序  指令重排序，实际上是提高效率

    void m(){
        System.out.println(" m start");
        while(isRun){}

        System.out.println("m end");
    }

    public static void main(String[] args) {
        ThreadVolatile005 t = new ThreadVolatile005();
        new Thread(t::m,"t1").start();//如果没有 volatile 线程是不会停止

        try {
            TimeUnit.SECONDS.sleep(1);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        t.isRun = false;
    }
}
